package com.geekhalo.admin.domain.app.create;

import com.geekhalo.lego.core.command.CommandService;
import com.geekhalo.lego.core.command.CommandServiceDefinition;
import com.geekhalo.lego.core.command.CommandMethodDefinition;

import com.geekhalo.admin.domain.app.WebApplication;
import com.geekhalo.admin.domain.app.WebApplicationCommandRepository;

import com.geekhalo.admin.domain.app.create.CreateWebApplicationCommand;
import com.geekhalo.admin.domain.app.create.CreateWebApplicationContext;
import com.geekhalo.admin.domain.app.WebApplication;


@CommandServiceDefinition(domainClass = WebApplication.class, repositoryClass = WebApplicationCommandRepository.class)
public interface CreateWebApplicationService
    extends CommandService<CreateWebApplicationCommand, WebApplication> {

    @Override
    @CommandMethodDefinition(contextClass = CreateWebApplicationContext.class)
    WebApplication execute(CreateWebApplicationCommand command);
}
